/******************************************************************************
 * Copyright (C) 2017 Chengdu Dlhd information industry co. LTD.
 * All Rights Reserved.
 * 本软件为成都顶联互动信息产业有限公司开发研制。未经本公司正式书面同意，其他任何个人、团体不得使用、复制、修改或发布本软件.
 *****************************************************************************/
package net.dgg.dggcloud.service.jrcrm.dao.customer;

import net.dgg.dggcloud.core.minidao.annotation.MiniDao;
import net.dgg.dggcloud.core.minidao.hibernate.MiniDaoSupportHiber;
import net.dgg.dggcloud.service.jrcrm.entity.customer.Customer;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;

/**
 * 客户数据库访问接口
 * @ClassName: CustomerDao
 * @Author: 周潮
 * @Date: 2017年11月03 14:32:32
 * @Version V1.0
 */

@MiniDao
public interface CustomerDao extends MiniDaoSupportHiber<Customer> {

    /**
     * 根据条件查询客户列表
     * @param map
     * @return
     */
    List<Map> queryCustomerListByParams(Map map);

    /**
     * 根据条件查询客户列表-count
     * @param map
     * @return
     */
    Integer queryCustomerListCountByParams(Map map);

    /**
     * 查询成单客户列表
     * @param map
     * @return
     */
    List<Map> querySucceedCustomerList(Map map);

    /**
     * 查询成单客户列表-count
     * @param map
     * @return
     */
    Integer querySucceedCustomerListCount(Map map);

    /**
     * 根据条件查询客户商机信息列表
     * @param map
     * @return
     */
    List<Map> queryCustomerBusinessList(Map map);

    /**
     * 根据条件查询客户商机信息列表-count
     * @param map
     * @return
     */
    Integer queryCustomerBusinessListCount(Map map);

    /**
     * 无效库查询
     * @param map
     * @return
     */
    List<Map> queryInvalidCustomerList(Map map);

    /**
     * 无效库查询-count
     * @param map
     * @return
     */
    Integer queryInvalidCustomerListCount(Map map);

    /**
     * 工作台今日生日客户列表查询
     * @param paramMap 参数
     * @return 结果集合
     */
    List<Map> queryWorkbenchBirthdayCustomerList(Map paramMap);

    /**
     * 工作台今日生日客户数据统计
     * @param paramMap 参数
     * @return 数据条数
     */
    Integer countWorkbenchBirthdayCustomer(Map paramMap);

    List<Map> queryCustomerList(Map map);
}
